import * as React from 'react'; import { BaseStyleProps } from '@aws-amplify/ui-react'; import { StylePropControlsProps } from './StylePropControls'; interface UseStyleProps { (initialValues: BaseStyleProps): StylePropControlsProps; } export const useStyleProps: UseStyleProps = (initialValues) => { const [width, setWidth] = React.useState( initialValues.width ); const [height, setHeight] = React.useState( initialValues.height ); const [maxHeight, setMaxHeight] = React.useState( initialValues.maxHeight ); const [minHeight, setMinHeight] = React.useState( initialValues.minHeight ); const [maxWidth, setMaxWidth] = React.useState( initialValues.maxWidth ); const [minWidth, setMinWidth] = React.useState( initialValues.minWidth ); const [color, setColor] = React.useState( initialValues.color ); const [backgroundColor, setBackgroundColor] = React.useState< BaseStyleProps['backgroundColor'] >(initialValues.backgroundColor); const [boxShadow, setBoxShadow] = React.useState( initialValues.boxShadow ); const [padding, setPadding] = React.useState( initialValues.padding ); const [border, setBorder] = React.useState( initialValues.border ); const [borderRadius, setBorderRadius] = React.useState< BaseStyleProps['borderRadius'] >(initialValues.borderRadius); const [opacity, setOpacity] = React.useState( initialValues.opacity ); return { backgroundColor, border, borderRadius, boxShadow, color, height, maxHeight, maxWidth, minHeight, minWidth, opacity, padding, width, setBackgroundColor, setBorder, setBorderRadius, setBoxShadow, setColor, setHeight, setMaxHeight, setMaxWidth, setMinHeight, setMinWidth, setOpacity, setPadding, setWidth, }; };